package com.gpframework.module.common.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.gpframework.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.util.Date;
import java.util.List;

/**
 * @ClassName GpDepartmentVo
 * @Author gpframework
 * @Date 2021-12-09
 * @Version 1.0.0
 * @Description 科室Vo对象
 */
@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@Accessors(chain = true)
public class GpDepartmentVo {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ApiModelProperty("主键")
    private Long id;

    /**
     * 父级id
     */
    @ApiModelProperty("父级id")
    private Long parentId;

    /**
     * 父级名称
     */
    @ApiModelProperty("父级名称")
    private String parentName;

    /**
     * 名称
     */
    @Excel(name = "名称")
    @ApiModelProperty("名称")
    private String name;

    /**
     * 图标
     */
    @ApiModelProperty("图标")
    private String icon;

    /**
     * 是否首页显示： 0否 1是
     */
    @Excel(name = "是否首页显示： 0否 1是")
    @ApiModelProperty("是否首页显示： 0否 1是")
    private String isDisplay;

    /**
     * 排序
     */
    @Excel(name = "排序")
    @ApiModelProperty("排序")
    private Long sort;

    /**
     * 备注
     */
    @Excel(name = "备注")
    @ApiModelProperty("备注")
    private String remarks;

    /**
     * 创建者
     */
    @ApiModelProperty("创建者")
    private String createBy;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("创建时间")
    private Date createTime;

    /**
     * 更新者
     */
    @ApiModelProperty("更新者")
    private String updateBy;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("更新时间")
    private Date updateTime;
    /**
     * 下级病种列表
     */
    @ApiModelProperty("下级病种列表")
    private List<GpDepartmentVo> gpSubclassDepartmentList;
}
